import Vue from 'vue'
import {
  Button,
  Form,
  FormItem,
  Input,
  Message,
  Container,
  Header,
  Aside,
  Main,
  Menu,
  Submenu,
  MenuItem,
  Breadcrumb,
  BreadcrumbItem,
  Card,
  Row,
  Col,
  Table,
  TableColumn,
  Switch,
  Tooltip,
  Pagination,
  Dialog,
  MessageBox,
  Tag,
  Tree,
  Select,
  Option,
  Cascader,
  Alert,
  Tabs,
  TabPane,
  Step,
  Steps,
  CheckboxGroup,
  Checkbox,
  Upload
} from 'element-ui'

// 表单的组件
Vue.use(Button)
Vue.use(Form)
Vue.use(FormItem)
Vue.use(Input)
Vue.use(Tooltip)

// 主页的组件
Vue.use(Container)
Vue.use(Header)
Vue.use(Aside)
Vue.use(Main)

// 侧边栏菜单组件
Vue.use(Menu)
Vue.use(Submenu)
Vue.use(MenuItem)

// 用户 面包屑导航组件
Vue.use(Breadcrumb)
Vue.use(BreadcrumbItem)

// 卡片视图组件
Vue.use(Card)

// 布局组件
Vue.use(Row)
Vue.use(Col)

// 用户列表区域
Vue.use(Table)
Vue.use(TableColumn)
Vue.use(Switch)

// 分页组件
Vue.use(Pagination)

// 添加用户弹窗组件
Vue.use(Dialog)

// 标签组件
Vue.use(Tag)

// 树行数据组件
Vue.use(Tree)

// select下拉组件
Vue.use(Select)
Vue.use(Option)

// 级联选择器
Vue.use(Cascader)

// 警告语组件
Vue.use(Alert)

// tabs组件
Vue.use(Tabs)
Vue.use(TabPane)

// 步骤条组件
Vue.use(Step)
Vue.use(Steps)

// 商品参数之多选框
Vue.use(CheckboxGroup)
Vue.use(Checkbox)

// 商品图片上传
Vue.use(Upload)

// 把弹窗组件挂载到vue的原型对象上
// 每个组件都可以通过this访问到 $message 进行弹窗提示
Vue.prototype.$message = Message
Vue.prototype.$confirm = MessageBox.confirm
